Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Troncamento dello zero in stringa binaria
Forum - C# / VB.NET - [VB.NET] Troncamento dello zero in stringa binaria

Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 17:56
Mercoledì, 18/08/2010
ciao ragazzi, ho riscontrato un problema quando mi viene restituita la stringa contenente il binario di un numero decimale, nel caso in cui il binario incominci con 1 tutto apposto ho le mie 8 cifre di 1 e 0, mentre se il binario del numero incomincia per 0 lo toglie e mi lascia le rimanenti 7 cifre, pero a me servono tutte e 8 e nn solo 7 anche se la prima cifra e 0, vorrei sapere da voi perche attua questo troncamento? e come risorverlo?



PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 20:38
Mercoledì, 18/08/2010
un chiarimento:
se ci sono 2 zeri consecutivi li toglie entrambi o uno solo?
es.
partenza= 10110100
risultato= 101101 oppure 1011010?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:45
Mercoledì, 18/08/2010
Stringa.PadLeft(8, "0")

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 22:05
Mercoledì, 18/08/2010
assicurati che la variabile sia una stringa, se te lo legge come intero ti toglie logicamente lo zero iniziale.

Es.
Codice sorgente - presumibilmente VB.NET

  1. Dim var2 As Integer = "00100100110"
  2.         Dim var As String = var2
  3.         MsgBox(var)



questo codice ritorna 100100110 senza 0, perché la variabile passa da un intero e questo te li toglie, se puoi fai avvenire la conversione in una stringa.

PM Quote
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 14:50
Giovedì, 19/08/2010
nn faccio come ha detto iohoilpotere, o almeno nn mi sembra:-|,
ecco una parte di codice:

Codice sorgente - presumibilmente VB.NET

  1. Dim binary_str As String = ""
  2. dim rtn_byte() as byte {1,2,3,4}
  3.         For i As Byte = 0 To 3
  4.             binary_str &= Convert.ToString(rtn_byte(i), 2).PadLeft(8, "0")
  5.         Next



comunque ho risolto mettendo il padleft come consigliato da il totem

grazie a tutti per l aiuto:D

Ultima modifica effettuata da Dyango il 19/08/2010 alle 14:51
PM Quote